Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Завантаження та виконання програм DOS. Організація програм *.EXE та *.COM

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
О
Факультет:
ІСМ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи

Частина тексту файла

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут  ім. І. Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем Лабораторна робота №4 з дисципліни «Операційні системи» «Завантаження та виконання програм DOS. Організація програм *.EXE та *.COM» Варіант - 15 Мета роботи: Ознайомитися зі структурою виконуваних програм *.EXE та *.COM та їх образом у пам’яті. Порядок роботи: Ознайомитися зі структурою програми *.EXE та образом такої програми у пам’яті. Ознайомитися зі структурою програми *.COM та образом такої програми у пам’яті. Засвоїти особливості створення виконуваних програм *.EXE та *.COM. Підготувати .EXE та .COM програми для виведення на екран поівдомлення HELLO WORLD! з варіантом опису даних: Msg db “Hello World!”, 0Dh, 0Ah, ‘$’ 0Dh – символ повернення каретки 0Ah – символ переведення рядка Продемонструвати роботу .EXE- та .COM-програм, поясинти розподіл пам’яті для цих програм. У DEBUG за допомогою команди D CS:0000 ви маєте можливість переглянути машинний код програми для exe-програми. У DEBUG за допомогою команди D DS:100 ви маєте можливість переглянути дані. Теоретична частина та хід роботи: Операційна система MS DOS передбачає два типи виконуваних програм, які мають розширення *.COM та *.EXE. Перед завантаженням в оперативну пам’ять СОМ- та ЕХЕ-програм DOS визначає спеціальну область оперативної пам’яті розміром 256 (100h) байт - сегментну адресу, яка називається префіксом програмного сегменту (PSP –  Program Segment Prefics). PSP може використовуватися в програмі для визначення імен файлів та параметрів з командного рядка, які вводяться при запуску програми на виконання , обсягу допустимої пам'яті, змінних оточення системи та ін. При завантаженні програми в оперативну пам’ять DOS ініціалізує як мінімум три сегментних регістри: CS, DS, SS(додатковим може бути ES). Код та даны перемыщуються з файлу в файл на диску в оперативну пам’ять, а адреси цих сегментів заносяться у CS та DS відповідно. Сегмент стека або виділяється в області, що вказана в програмі, або співпадає(якщо він явно не описаний в програмі) з самим першим сегментом програми. Адреса сегменту стека розташовується в регістрі SS. Програма може мати декілька кодових сегментів та сегментів даних і в процесі виконання за допомогою спеціальних команд здійснюється переключення між ними. Для того, щоб адресувати одночасно два сегменти даних, наприклад, для виконання операції пересилання з однієї області пам’яті в іншу, можна використовувати регістр додаткового сегмента ES. Кодовий сегмент та сегмент стеку завжди визначається вмістом своїх регістрів(CS та SS), в кожний момент виконання програми завжди використовується якийсь один кодовий сегмент та один сегмент стека. Усі сегменти можуть використовувати різні області пам’яті, а можуть частково або повністю перекриватися. Кодовий сегмент повинен обов’язково описуватися в програмі, усі інші сегменти можуть бути відсутніми. У цьому випадку при завантаженні програми в оперативну пам’ять DOS ініціює регістри DS та ES значенням адреси префікса програмного сегмента PSP. Регістр SS при цьому ініціалізується значенням сегменту, що знаходиться одразу за PSP, тобто першого сегменту програми. При цьому слід враховувати, що стек «зростає вниз» (при розміщенні у стек вміст регістра SP, що вказує на вершину стека, зменшується, а при зчитуванні зі стека - збільшується). Тому при розміщенні у стек будь-яких значень вони можуть затерти PSP, в зв’язку з цим слід завжди сегмент стеку описувати в програмі явно та задавати для нього розмір, достатній для нормальної роботи. У вказівник команд ІР завантажується зсув точки входу в програму (вибирається з операнда директиви END), у вказівник стека SP – зсув кінця сегмента стека. Основні відмінності цих програм полягають у наступному: Програми типу *.COM (двійковий образ коду та даних програми) Складаються тільки з одного сегменту, в якому розміщується і код програми, і дані, і ст...
Антиботан аватар за замовчуванням

03.05.2023 17:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини